package org.pine.common.annotation;

import java.lang.annotation.*;

/**
 * 加密、解密实体注解
 *
 * @author pine
 * @version v1.0
 * @since 2025-04-12 13:23
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE, ElementType.ANNOTATION_TYPE})
public @interface SensitiveEntity {
    SensitiveField[] value() default {};

    /**
     * 字段名称
     *
     * @return 敏感字段名称
     */
    String[] fieldNames() default {};

    /**
     * 是否使用反射扫码实体类变量中SensitiveField标注的字段
     *
     * @return true:扫描；false:不扫描
     */
    boolean scanFields() default true;
}
